/* 元素样式
------------------------------- */
.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.hidden {
  display: none;
}

/* 浮动样式
------------------------------- */
.fl {
  float: left;
}

.fr {
  float: right;
}

.fn {
  float: none;
}

.clearfix {
  zoom: 1;
}

.clearfix:after {
  display: block;
  content: ' ';
  height: 0;
  visibility: hidden;
  clear: both;
}

/* 定位样式
------------------------------- */
.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.absolute-center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.fixed {
  position: fixed;
}

.fixed-center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.static {
  position: static;
}

.sticky {
  position: sticky;
}

/* flex 弹性布局样式
------------------------------- */
.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-auto {
  flex: 1 1 auto;
  min-width: 0;
  /* 1 */
  min-height: 0;
  /* 1 */
}

.flex-none {
  flex: none;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-grow-1 {
  flex-grow: 1;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

/* 溢出样式
------------------------------- */

.oh {
  overflow: hidden !important;
}

.oa {
  overflow: auto !important;
}

/* 透明度样式
------------------------------- */

.opacity-0 {
  opacity: 0;
}

.opacity-1 {
  opacity: 1;
}
